﻿using System;
using System.Web.UI;
using Z16.BLI;

namespace Z16.SITE
{
    public partial class DisplayTarefasUser : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if ((Session["CodPerfil"] == null) || (Session["CodUsr"] == null))
            {
                Response.Write("<script>window.location=\'Login.aspx';</script>");
                return;
            }

            if(!IsPostBack)
            {
                var codUser = Session["CodUsr"];
                carregaDiplay(Convert.ToInt32(codUser));
            }
        }

        private void carregaDiplay(int codUser)
        {
            var display = new Display();
            var listaProjetoUser = display.ListarProjetoUser(codUser);

            for (int p = 0; p < listaProjetoUser.Rows.Count; p++)
            {
                int codProjeto = Convert.ToInt32(listaProjetoUser.Rows[p]["Cod_Projeto"]);
                var listaDemanda = display.ListarDemandaUser(codUser, codProjeto);

                pnlDisplay.Controls.Add(new LiteralControl("<table bgcolor =\'#000000\' border=\'1\' cellppading =\'1\'  cellspacing=\'1\' style=\"width: 100%\">"));
                pnlDisplay.Controls.Add(new LiteralControl("<TR bgcolor=\"#191970\">"));
                pnlDisplay.Controls.Add(new LiteralControl("<td><font color=\'white\' size=\'5\'>" + listaProjetoUser.Rows[p]["Projeto"] + "</font></td>"));
                pnlDisplay.Controls.Add(new LiteralControl("</TR>"));

                for (int d = 0; d < listaDemanda.Rows.Count; d++)
                {
                    int codDemanda = Convert.ToInt32(listaDemanda.Rows[d]["Cod_Demanda"]);
                    var listaAtividade = display.ListarAtividadeUser(codUser, codDemanda);

                    pnlDisplay.Controls.Add(new LiteralControl("<TR bgcolor=\"#483D8B\">"));
                    pnlDisplay.Controls.Add(new LiteralControl("<td style=\'padding-left:20px;\'><font color=\'white\' size=\'4\'>" + listaDemanda.Rows[d]["Nome_Demanda"] + "</font></td>"));
                    pnlDisplay.Controls.Add(new LiteralControl("</TR>"));

                    for(int a = 0; a < listaAtividade.Rows.Count; a++)
                    {
                        int codAtividade = Convert.ToInt32(listaAtividade.Rows[a]["Cod_Atividade"]);
                        var listaTarefa = display.ListarTarefaUser(codUser, codAtividade);

                        string strColor = "Green";
                        if (listaAtividade.Rows[a]["Status_Atividade"].ToString() == "EM ATRASO")
                            strColor = "Red";

                        pnlDisplay.Controls.Add(new LiteralControl("<TR bgcolor=\"#6495ED\">"));
                        pnlDisplay.Controls.Add(new LiteralControl("<td style=\'padding-left:40px;\'><font color=\'white\' size=\'3\'>" + listaAtividade.Rows[a]["Nome_Atividade"] + "</font> - <font color=\'"+strColor+"\' size=\'3\'>" + listaAtividade.Rows[a]["Status_Atividade"] + "</font></td>"));
                        pnlDisplay.Controls.Add(new LiteralControl("</TR>"));
                        
                        string corFundo = "";

                        for (int t = 0; t < listaTarefa.Rows.Count; t++)
                        {
                            corFundo = corFundo == "#D7E2E8" ? "#FFFFFF" : "#D7E2E8";
                            int codTarefa = Convert.ToInt32(listaTarefa.Rows[t]["Cod_Tarefa"]);
                            pnlDisplay.Controls.Add(new LiteralControl("<TR bgcolor=\"#D7E2E8\">"));
                            pnlDisplay.Controls.Add(new LiteralControl("<TD style=\'padding-left:60px;\'><a href='TarefaStatus.aspx?id=" + codTarefa + "'>" + listaTarefa.Rows[t]["Nome_Tarefa"] + "</a></TD>"));
                            pnlDisplay.Controls.Add(new LiteralControl("</TR>"));
                        }
                    }
                }

                pnlDisplay.Controls.Add(new LiteralControl("</table>"));
                pnlDisplay.Controls.Add(new LiteralControl("<BR />"));
                pnlDisplay.Controls.Add(new LiteralControl("<BR />"));
            }
        }
    }
}